package com.fdb.efp.nls.api.rest;

import com.fdb.basic.framework.core.constant.ResponseData;
import com.fdb.basic.framework.web.controller.AbstractController;
import com.fdb.efp.nls.service.facade.ImageFileAnalysisService;
import com.fdb.efp.nls.service.facade.PolicyFileAnalysisService;
import com.fdb.efp.nls.service.facade.SubrogationFileAnalysisService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@RestController
@RequestMapping("/api")
public class ImageFileAnalysisController extends AbstractController {

	@Autowired
	@Qualifier("imageFileAnalysisService")
	private ImageFileAnalysisService imageFileAnalysisService;

	@Autowired
	@Qualifier("policFileAnalysisService")
	private PolicyFileAnalysisService policFileAnalysisService;

	@Autowired
	@Qualifier("subrogationFileAnalysisService")
	private SubrogationFileAnalysisService subrogationFileAnalysisService;

//	@Autowired
//	@Qualifier("bdImageFileAnalysisService")
//	private ImageFileAnalysisService bdImageFileAnalysisService;


	/**
	 * 
	 * 交互文件服务-影像文件解析
	 * 
	 * @param filePath
	 * @return
	 * @author ludayong
	 * @since 2019年1月3日 上午9:03:19
	 * @version 1.0
	 * @return
	 */
	@RequestMapping(value = "/image/analysis", method = RequestMethod.POST)
	public @ResponseBody
    ResponseData<Boolean> analysisImageFile(@RequestBody Map<String, String> paramMap) {
		// logger.info("交互文件服务-影像文件解析：请求参数[" +
		// JSONObject.toJSONString(paramMap.get("filePath")) + "]， 处理开始!");
		boolean result = false;
		try {
			//result = bdImageFileAnalysisService.analysisImageFile();
		} catch (Exception e) {
			logger.info("交互文件服务-影像文件解析：出现异常" + e.getMessage());
			e.printStackTrace();
		}
		// logger.info("交互文件服务-影像文件解析：响应参数[" + JSONObject.toJSONString(result) +
		// "]，处理结束!");
		return getResponseData(result);
	}

	/**
	 * 
	 * 交互文件服务-影像文件解析
	 * 
	 * @param filePath
	 * @return
	 * @author ludayong
	 * @since 2019年1月3日 上午9:03:19
	 * @version 1.0
	 * @return
	 */
	@RequestMapping(value = "/bdimage/analysis", method = RequestMethod.POST)
	public @ResponseBody
    ResponseData<Boolean> analysisBdImageFile(@RequestBody Map<String, String> paramMap) {
		// logger.info("交互文件服务-影像文件解析：请求参数[" +
		// JSONObject.toJSONString(paramMap.get("filePath")) + "]， 处理开始!");
		boolean result = false;
		try {
			//result = bdImageFileAnalysisService.analysisImageFile();
		} catch (Exception e) {
			logger.info("交互文件服务-影像文件解析：出现异常" + e.getMessage());
			e.printStackTrace();
		}
		// logger.info("交互文件服务-影像文件解析：响应参数[" + JSONObject.toJSONString(result) +
		// "]，处理结束!");
		return getResponseData(result);
	}

	/**
	 * 
	 * 交互文件服务-保单文件解析
	 * 
	 * @param filePath
	 * @return
	 * @author ludayong
	 * @since 2019年1月3日 上午9:03:19
	 * @version 1.0
	 * @return
	 */
	@RequestMapping(value = "/polic/analysis", method = RequestMethod.POST)
	public @ResponseBody
    ResponseData<Boolean> analysisPolicFile(@RequestBody Map<String, String> paramMap) {
		// logger.info("交互文件服务-保单文件解析：请求参数[" +
		// JSONObject.toJSONString(paramMap.get("filePath")) + "]， 处理开始!");
		boolean result = false;
		try {
			result = policFileAnalysisService.analysisPolicyFile();
		} catch (Exception e) {
			logger.info("交互文件服务-保单文件解析：出现异常" + e.getMessage());
			e.printStackTrace();
		}
		// logger.info("交互文件服务-保单文件解析：响应参数[" + JSONObject.toJSONString(result) +
		// "]，处理结束!");
		return getResponseData(result);
	}

	/**
	 * 
	 * 交互文件服务-授权协议书文件解析
	 * 
	 * @param filePath
	 * @return
	 * @author ludayong
	 * @since 2019年1月3日 上午9:03:19
	 * @version 1.0
	 * @return
	 */
	@RequestMapping(value = "/subrogation/analysis", method = RequestMethod.POST)
	public @ResponseBody
    ResponseData<Boolean> analysisSubrogationFile(@RequestBody Map<String, String> paramMap) {
		// logger.info("交互文件服务-保单文件解析：请求参数[" +
		// JSONObject.toJSONString(paramMap.get("filePath")) + "]， 处理开始!");
		boolean result = false;
		try {
			result = subrogationFileAnalysisService.analysisSubrogationFile();
		} catch (Exception e) {
			logger.info("交互文件服务-权益转让书文件解析：出现异常" + e.getMessage());
			e.printStackTrace();
		}
		// logger.info("交互文件服务-保单文件解析：响应参数[" + JSONObject.toJSONString(result) +
		// "]，处理结束!");
		return getResponseData(result);
	}
}
